

// Schema  数据结构 
// Schema主要用于定义MongoDB中集合Collection里文档document的结构
// 不仅仅可以定义文档的结构和属性，还可以定义文档的实例方法、静态模型方法、复合索引等
// 每个schema会映射到mongodb中的一个collection，schema不具备操作数据库的能力


// 定义Schema非常简单，指定字段名和类型即可
// String      字符串
// Number      数字    
// Date        日期
// Buffer      二进制
// Boolean     布尔值
// Mixed       混合类型
// ObjectId    对象ID    
// Array       数组
var mongoose = require("mongoose")
var Schema = mongoose.Schema;




// model 数据模型  
// Model是由Schema编译而成的假想（fancy）构造器  具有抽象属性和行为
// Model 可以保存到数据库和对数据库进行操作   model是由schema生成的模型，可以对数据库的操作。

// mongoose.model(`文档名称`, Schema)  

// Mongoose会将集合名称设置为模型名称的小写版。如果名称的最后一个字符是字母，则会变成复数；如果名称的最后一个字符是数字，则不变；如果模型名称为"MyModel"，则集合名称为"mymodels"；如果模型名称为"Model1"，则集合名称为"model1"




// movie  

var movies_schema = new Schema({
    "genres": Array,
    "casts": Array,
    "directors": Array,
    "rating": Object,
    "title": String,
    "collect_count": Number,
    "original_title": String,
    "subtype": String,
    "year": String,
    "images": Object,
    "alt": String,
    "id": String
})

exports.moviesModel = mongoose.model("movies", movies_schema)



var users_Schema = new Schema({
    username: String,
    password: String,
    phone: String,
    nickname: String,
    age: Number,
    regTime: Date
})

exports.usersModel = mongoose.model("users", users_Schema)





var comment_Schema = new Schema({
    title: String,
    content: String,
    time: Date,
    author: String,
    movie: Object,
    mid: String
});




exports.commentModel = mongoose.model("comments", comment_Schema)




var mzusers_Schema = new Schema({
    username: String,
    password: String,
    phone: String,
    nickname: String,
    age: Number,
    regTime: Date,
    avatar: String
})

exports.mzusersModel = mongoose.model("mzusers", mzusers_Schema)


// 物业管理系统用户表
var AdminUsers_Schema = new Schema({
    username: String,
    password: String,
    phone: String,
    time: Date,
    avatar: String,
    role: Number //角色权限 0普通用户 1管理员 2超级管理员

})

exports.AdminUsersModel = mongoose.model("adminusers", AdminUsers_Schema)


